home *** CD-ROM | disk | FTP | other *** search
/ PC Answers 2002 January / PC Answers January 2002.7z / PC Answers January 2002.bin / graphics / freepixl / _SETUP.1 / Pxlxplor.pxl < prev    next >
Text File  |  2000-12-23  |  10KB  |  304 lines

  1. Initialize:
  2.     Title$ = "PiXCL + Win95/NT Explorer"
  3.     UseCaption(Title$)
  4.     UseCoordinates(PIXEL)
  5.     SetColorPalette(BITMAP)
  6.     UseBackground(TRANSPARENT,166,166,166)
  7.     DrawBackground
  8.     WinLocate(Title$,700,200,990,400,Res)
  9.     WinGetClientRect("",cx1,cy1,cx2,cy2)
  10.     DirGet(SourceDir$)
  11.  
  12.     WinShow(Title$,TOPMOST,Res)
  13.     InfoMenu(REMOVE)
  14.     WaitInput(100)
  15.     SetMenu("E&xit!",Leave,
  16.         ENDPOPUP,
  17.         "&Explorer",IGNORE,
  18.         "&DDE Init", Start_Explorer_DDE,
  19.         "&Requests",Requests_DDE,
  20.         "&FindFolder",FindFolder_DDE,
  21.         "&ExploreFolder",ExploreFolder_DDE,
  22.         "&ViewFolder",ViewFolder_DDE,
  23.         "F&indFile",FindFile_DDE,
  24.         ENDPOPUP,
  25.         "&Test Apps",IGNORE,
  26.         "&Access 97",Test_MSAccess,
  27.         "&Excel 97",Test_MSExcel,
  28.         "&Netscape",Test_Netscape,
  29.         ENDPOPUP)
  30.  
  31.         ChangeMenuItem("&FindFolder",GRAY,Res)
  32.         ChangeMenuItem("F&indFile",GRAY,Res)
  33.         ChangeMenuItem("&ExploreFolder",GRAY,Res)
  34.         ChangeMenuItem("&ViewFolder",GRAY,Res)
  35.  
  36.  
  37. Wait_for_Input: 
  38.     WaitInput()
  39.  
  40.  
  41. Leave:    {time to clean up after ourselves...we MUST clear the channel or Explorer 
  42.     is left hanging. Windows stil runs, but DDE inits fail, and rebooting is the only solution.}
  43.  
  44.     If ChanNum <> 0 Then DDETerminate(ChanNum)
  45.     WinClose("Find: All Files",Res)
  46.     WaitInput(200)
  47.     WinExist("Find: All Files",Res)
  48.     If Res = 1 Then Goto Leave
  49.     End
  50.  
  51. Test_Netscape:
  52.     DDEInitiate("Netscape","WWW_OpenURL",ChanNum)
  53.     DDEExecute(ChanNum,"file:///F|/HTML/welcome.htm",Res)
  54.  
  55.     Goto Wait_for_Input
  56.  
  57. Test_MSAccess:
  58.     DrawBackground
  59.     If ChanNum <> 0 Then DDETerminate(ChanNum)
  60.     DDEInitiate("MSAccess","System",ChanNum)
  61.     If ChanNum = 0 
  62.         DrawText(10,10,"DDE initiate failed")
  63.         DrawText(10,25,"Access may need to be started.")
  64.     Else
  65.         DrawText(10,10,"DDE conversation initiated")
  66.         DDERequest(ChanNum,"Formats",Res$)
  67.         If Res$ = "" Then Beep Res$ = "No Items listed"
  68.         MessageBox(OK,1,INFORMATION,Res$,"Access 'Formats' Items",Res)
  69.  
  70.         DDERequest(ChanNum,"Status",Res$)
  71.         If Res$ = "" Then Beep Res$ = "No Items listed"
  72.         MessageBox(OK,1,INFORMATION,Res$,"Access 'Status' Items",Res)
  73.  
  74.         DDERequest(ChanNum,"SysItems",Res$)
  75.         If Res$ = "" Then Beep Res$ = "No Items listed"
  76.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'SysItems' Items",Res)
  77.  
  78.         DDERequest(ChanNum,"Topics",Res$)
  79.         If Res$ = "" Then Beep Res$ = "No Items listed"
  80.         MessageBox(OK,1,INFORMATION,Res$,"Access 'Topics' Items",Res)
  81.  
  82.     Endif
  83.     Goto Wait_for_Input
  84.  
  85. Test_MSExcel:
  86.     DrawBackground
  87.     If ChanNum <> 0 Then DDETerminate(ChanNum)
  88.     DDEInitiate("Excel","System",ChanNum)
  89.     If ChanNum = 0 
  90.         DrawText(10,10,"DDE initiate failed")
  91.     Else
  92.         DrawText(10,10,"DDE conversation initiated")
  93.         DDERequest(ChanNum,"Formats",Res$)
  94.         If Res$ = "" Then Beep Res$ = "No Items listed"
  95.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'Formats' Items",Res)
  96. {
  97.         DDERequest(ChanNum,"Help",Res$)
  98.         If Res$ = "" Then Beep Res$ = "No Items listed"
  99.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'Help' Items",Res)
  100. }
  101.         DDERequest(ChanNum,"Status",Res$)
  102.         If Res$ = "" Then Beep Res$ = "No Items listed"
  103.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'Status' Items",Res)
  104. {
  105.         DDERequest(ChanNum,"ReturnMessage",Res$)
  106.         If Res$ = "" Then Beep Res$ = "No Items listed"
  107.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'ReturnMessage' Items",Res)
  108. }
  109.         DDERequest(ChanNum,"SysItems",Res$)
  110.         If Res$ = "" Then Beep Res$ = "No Items listed"
  111.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'SysItems' Items",Res)
  112. {
  113.         DDERequest(ChanNum,"TopicItemList",Res$)
  114.         If Res$ = "" Then Beep Res$ = "No Items listed"
  115.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'TopicItemList' Items",Res)
  116. }
  117.         DDERequest(ChanNum,"Topics",Res$)
  118.         If Res$ = "" Then Beep Res$ = "No Items listed"
  119.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'Topics' Items",Res)
  120.  
  121.         DDERequest(ChanNum,"Selection",Res$)
  122.         If Res$ = "" Then Beep Res$ = "No Items listed"
  123.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'Selection' Items",Res)
  124.  
  125.         DDERequest(ChanNum,"Protocols",Res$)
  126.         If Res$ = "" Then Beep Res$ = "No Items listed"
  127.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'Protocols' Items",Res)
  128.  
  129.         DDERequest(ChanNum,"EditEnvItems",Res$)
  130.         If Res$ = "" Then Beep Res$ = "No Items listed"
  131.         MessageBox(OK,1,INFORMATION,Res$,"Excel 'EditEnvItems' Items",Res)
  132.     
  133.         DDETerminate(ChanNum)
  134.         DDEInitiate("Excel","[Book1]Sheet1",ChanNum)
  135.         DDERequest(ChanNum,"R1C1",Res$)
  136.         If Res$ = "" Then Beep Res$ = "No Items listed"
  137.         MessageBox(OK,1,INFORMATION,Res$,"Excel cell contents",Res)
  138.     
  139.         DDEPoke(ChanNum,"R1C2","More blah",Res)
  140.         DDERequest(ChanNum,"R1C2",Res$)
  141.         If Res$ = "" Then Beep Res$ = "No Items listed"
  142.         MessageBox(OK,1,INFORMATION,Res$,"Excel cell contents",Res)
  143.  
  144.     Endif
  145.     Goto Wait_for_Input
  146.  
  147.  
  148.  
  149. Start_Explorer_DDE: 
  150.     DrawBackground
  151.     If ChanNum <> 0 Then DDETerminate(ChanNum)
  152.     DDEInitiate("Folders","AppProperties",ChanNum)
  153.     If ChanNum = 0 
  154.         DrawText(10,10,"DDE initiate failed")
  155.     Else
  156.         DrawText(10,10,"DDE conversation initiated")
  157.         ChangeMenuItem("&DDE Init",GRAY,Res)
  158.         ChangeMenuItem("&FindFolder",ENABLE,Res)
  159.         ChangeMenuItem("F&indFile",ENABLE,Res)
  160.         ChangeMenuItem("&ExploreFolder",ENABLE,Res)
  161.         ChangeMenuItem("&ViewFolder",ENABLE,Res)
  162.     Endif
  163.     Goto Wait_for_Input
  164.  
  165. Requests_DDE:
  166.         DrawText(10,10,"DDE conversation initiated")
  167.         DDERequest(ChanNum,"Formats",Res$)
  168.         If Res$ = "" Then Beep Res$ = "No Items listed"
  169.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'Formats' Items",Res)
  170.  
  171.         DDERequest(ChanNum,"Help",Res$)
  172.         If Res$ = "" Then Beep Res$ = "No Items listed"
  173.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'Help' Items",Res)
  174.  
  175.         DDERequest(ChanNum,"Status",Res$)
  176.         If Res$ = "" Then Beep Res$ = "No Items listed"
  177.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'Status' Items",Res)
  178.  
  179.         DDERequest(ChanNum,"ReturnMessage",Res$)
  180.         If Res$ = "" Then Beep Res$ = "No Items listed"
  181.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'ReturnMessage' Items",Res)
  182.  
  183.         DDERequest(ChanNum,"SysItems",Res$)
  184.         If Res$ = "" Then Beep Res$ = "No Items listed"
  185.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'SysItems' Items",Res)
  186.  
  187.         DDERequest(ChanNum,"TopicItemList",Res$)
  188.         If Res$ = "" Then Beep Res$ = "No Items listed"
  189.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'TopicItemList' Items",Res)
  190.  
  191.         DDERequest(ChanNum,"Topics",Res$)
  192.         If Res$ = "" Then Beep Res$ = "No Items listed"
  193.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'Topics' Items",Res)
  194.  
  195.         DDERequest(ChanNum,"Selection",Res$)
  196.         If Res$ = "" Then Beep Res$ = "No Items listed"
  197.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'Selection' Items",Res)
  198.  
  199.         DDERequest(ChanNum,"Protocols",Res$)
  200.         If Res$ = "" Then Beep Res$ = "No Items listed"
  201.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'Protocols' Items",Res)
  202.  
  203.         DDERequest(ChanNum,"EditEnvItems",Res$)
  204.         If Res$ = "" Then Beep Res$ = "No Items listed"
  205.         MessageBox(OK,1,INFORMATION,Res$,"Explorer 'EditEnvItems' Items",Res)
  206.     
  207.     Goto Wait_for_Input
  208.  
  209. FindFolder_DDE: {display the Find: All Files dialog from explorer}
  210.     {
  211.       DDEexec = [FindFolder("%l", %I)]
  212.       arg#1 = the start-in [path]directory string, no spaces; quotes not needed
  213.       arg#2 = string. If different from arg#1, takes precedence,
  214.                      appears in the 'LookIn' edit control
  215.     }
  216.     UseCursor(WAIT)
  217.     DDEExecute(ChanNum,"[FindFolder( ,c:\windows\system  )]",Res)
  218.     If Res = 0 Then DrawText(10,25,"DDE Exec failed.") 
  219.     UseCursor(ARROW)
  220.     Goto Wait_for_Input
  221.  
  222.  
  223. ExploreFolder_DDE:  {display the Find: All Files dialog from explorer. }
  224.     {
  225.  
  226.       arg#1 = [path]directory; 
  227.       arg#2 =  unknown
  228.       arg#3 = 0 | 1  ->Explorer window not visible | visible
  229.     }
  230.     UseCursor(WAIT)
  231.     DDEExecute(ChanNum,"[ExploreFolder(c:\windows\system, , 1)]",Res)
  232.     If Res = 0 Then DrawText(10,25,"DDE Exec failed.") 
  233.     UseCursor(ARROW)
  234.     Goto Wait_for_Input
  235.  
  236.  
  237. ViewFolder_DDE:  {display the Find: All Files dialog from explorer. }
  238.     {arg#1 = [path]directory; 
  239.       arg#2 =  unknown at present. string ?
  240.       arg#3 = 0 ->Explorer not visible, 1-> explorer visible
  241.     }
  242.     UseCursor(WAIT)
  243.     DDEExecute(ChanNum,"[ViewFolder(c:\windows\system, 0, 1)]",Res)
  244.     If Res = 0 Then DrawText(10,25,"DDE Exec failed.") 
  245.     UseCursor(ARROW)
  246.     Goto Wait_for_Input
  247.  
  248.  
  249. FindFile_DDE: {display the Find: All Files dialog from explorer}
  250.     {arg#1 =  start-in directory string, has to be valid directory eg \ 
  251.         on the C: drive. Don't seem able to set the start disk
  252.         to any other disk.
  253.       arg#2 = some number ?
  254.     }
  255.     UseCursor(WAIT)
  256.     DDEExecute(ChanNum,"[OpenFindFile(\,0)]",Res)
  257.     If Res = 0 Then DrawText(10,25,"DDE Exec failed.") 
  258.     UseCursor(ARROW)
  259.     Goto Wait_for_Input
  260.  
  261. {
  262. Notes on Explorer and DDE, after poking through the Registry.
  263.  
  264. Directory.shell
  265. ->command = C:\WINDOWS\Explorer.exe
  266. ->DDEexec = [FindFolder("%l", %I)]
  267.    -> application = Folders        This is the DDE Service name.
  268.    -> topic = AppProperties
  269.  
  270. arg#1 = start directory string, "" means string or Item ?
  271. arg#2 = unknown, suspect integer value
  272.  
  273.  
  274.  
  275. Drive.shell.find
  276. ->command = C:\WINDOWS\Explorer.exe
  277. ->DDEexec = [FindFolder("%l", %I)]
  278.    -> application = Folders
  279.    -> topic = AppProperties
  280.  
  281. findfile.shell.open
  282. ->command = C:\WINDOWS\Explorer.exe
  283. ->DDEexec = [OpenFindFile("%1", %I)]
  284.    -> application = Folders
  285.    -> topic = AppProperties
  286.  
  287.  
  288.  
  289. Folder.Shell.Explore:
  290. ->command = C:\WINDOWS\Explorer.exe /e,/idlist,%I,%L
  291. ->DDE exec = [ExploreFolder("%l", %I, %S)] 
  292.    -> application = Folders
  293.    -> topic = AppProperties
  294.  
  295. Folder.Shell.Open
  296. ->command = C:\WINDOWS\Explorer.exe /idlist,%I,%L
  297.     
  298. %L has to be a directory
  299.  
  300. ->DDEexec = [ViewFolder("%l", %I, %S)]
  301.    -> application = Folders
  302.    -> topic = AppProperties
  303. }
  304.